void main() {
  // 准备购物车数据
  List carts = [
    {"count": 2, "price": 10.0, "selected": false},
    {"count": 1, "price": 30.0, "selected": true},
    {"count": 5, "price": 20.0, "selected": true}
  ];

  // 调用封装的函数
  bool isSelectedAll = getSelectedState(carts);
  if (isSelectedAll) {
    print('全选');
  } else {
    print('非全选');
  }
}

// 参数：List
// 逻辑：每一项的selected 是否都为 true
// 返回值：是否全部被选中（）
bool getSelectedState(List carts) {
  // 假定是被全部选中的
  bool isSelectedAll = true;

  // 全部都是 true isSelectedAll就是 true
  // 任何一个为 false，isSelectedAll就是 false
  // carts.forEach((item) {
  //   if (item['selected'] == false) {
  //     // return false;
  //     isSelectedAll = false;
  //   }
  // });

  // for 循环
  for (var i = 0; i < carts.length; i++) {
    print('检索~');
    if (carts[i]['selected'] == false) {
      isSelectedAll = false;
      // 找到了没有被选中的元素，直接退出循环，性能好一丢丢
      break;
    }
  }

  // 返回结算结果
  return isSelectedAll;
}
